typedef enum format{
	UNKNOWF = -1,
	WAV = 0,
	FLAC,
	APE,
	AAC,
	MP2,
	MP3,
	WMA,
	OGG,
	RA,
	RM,
	RMX,
	MIDI,
	AVI,
	VQF
}format_e;

typedef enum sample_format {
	/** Unknown */
	UNKNOWSF = -1,
	/** Signed 8 bit */
	S8 = 800,
	/** Unsigned 8 bit */
	U8 = 810,
	/** Signed 16 bit Little Endian */
	S16_LE = 1600,
	/** Signed 16 bit Big Endian */
	S16_BE,
	/** Unsigned 16 bit Little Endian */
	U16_LE = 1610,
	/** Unsigned 16 bit Big Endian */
	U16_BE,
	/** Signed 24 bit Little Endian using low three bytes in 32-bit word */
	S24_LE = 2400,
	/** Signed 24 bit Big Endian using low three bytes in 32-bit word */
	S24_BE,
	/** Unsigned 24 bit Little Endian using low three bytes in 32-bit word */
	U24_LE = 2410,
	/** Unsigned 24 bit Big Endian using low three bytes in 32-bit word */
	U24_BE,
	/** Signed 32 bit Little Endian */
	S32_LE = 3200,
	/** Signed 32 bit Big Endian */
	S32_BE,
	/** Unsigned 32 bit Little Endian */
	U32_LE = 3210,
	/** Unsigned 32 bit Big Endian */
	U32_BE,
	/** Float 32 bit Little Endian, Range -1.0 to 1.0 */
	FLOAT_LE,
	/** Float 32 bit Big Endian, Range -1.0 to 1.0 */
	FLOAT_BE,
	/** Float 64 bit Little Endian, Range -1.0 to 1.0 */
	FLOAT64_LE = 6400,
	/** Float 64 bit Big Endian, Range -1.0 to 1.0 */
	FLOAT64_BE,
	/** IEC-958 Little Endian */
	IEC958_SUBFRAME_LE = 0,
	/** IEC-958 Big Endian */
	IEC958_SUBFRAME_BE,
	/** Mu-Law */
	MU_LAW,
	/** A-Law */
	A_LAW,
	/** Ima-ADPCM */
	IMA_ADPCM,
	/** MPEG */
	MPEG,
	/** GSM */
	GSM,
	/** Special */
	SPECIAL = 31,
	/** Signed 24bit Little Endian in 3bytes format */
	S24_3LE = 32,
	/** Signed 24bit Big Endian in 3bytes format */
	S24_3BE,
	/** Unsigned 24bit Little Endian in 3bytes format */
	U24_3LE,
	/** Unsigned 24bit Big Endian in 3bytes format */
	U24_3BE,
	/** Signed 20bit Little Endian in 3bytes format */
	S20_3LE,
	/** Signed 20bit Big Endian in 3bytes format */
	S20_3BE,
	/** Unsigned 20bit Little Endian in 3bytes format */
	U20_3LE,
	/** Unsigned 20bit Big Endian in 3bytes format */
	U20_3BE,
	/** Signed 18bit Little Endian in 3bytes format */
	S18_3LE,
	/** Signed 18bit Big Endian in 3bytes format */
	S18_3BE,
	/** Unsigned 18bit Little Endian in 3bytes format */
	U18_3LE,
	/** Unsigned 18bit Big Endian in 3bytes format */
	U18_3BE,
	LAST = U18_3BE,
}sample_format_e;